package com.yeyks.consumer.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户会员卡明细表
 * </p>
 *
 * @author yun
 * @since 2019-09-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="UserMemberCardBill对象", description="用户会员卡明细表")
public class UserMemberCardBill implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "会员卡id")
    @TableField("card_id")
    private Integer cardId;

    @ApiModelProperty(value = "操作金额(单位/分)")
    @TableField("operator_amount")
    private Integer operatorAmount;

    @ApiModelProperty(value = "充值金额(单位/分)")
    @TableField("pay_amount")
    private Integer payAmount;

    @ApiModelProperty(value = "充值赠送金额(单位/分)")
    @TableField("give_amount")
    private Integer giveAmount;

    @ApiModelProperty(value = "当前剩余金额(单位/分)")
    @TableField("remain_amount")
    private Integer remainAmount;

    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "类型 默认0充值，1消费")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "订单号")
    @TableField("order_no")
    private String orderNo;

    @ApiModelProperty(value = "创建日期")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "状态:1正常2取消")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "卡类型:1vip 2jip")
    @TableField("card_type")
    private Integer cardType;


    public static final String ID = "id";

    public static final String USER_ID = "user_id";

    public static final String CARD_ID = "card_id";

    public static final String OPERATOR_AMOUNT = "operator_amount";

    public static final String PAY_AMOUNT = "pay_amount";

    public static final String GIVE_AMOUNT = "give_amount";

    public static final String REMAIN_AMOUNT = "remain_amount";

    public static final String REMARK = "remark";

    public static final String TYPE = "type";

    public static final String ORDER_NO = "order_no";

    public static final String CREATE_TIME = "create_time";

    public static final String STATUS = "status";

    public static final String CARD_TYPE = "card_type";

}
